/* // utils/http.js
import axios from "axios";
import {useUserStore} from "@/stores/user";
import router from '@/router'
const httpInstance = axios.create({
    baseURL: 'url',  // 基地址
    timeout: 5000    // 超时器
})
 
//拦截器
httpInstance.interceptors.request.use(config => {
    return config
}, e => Promise.reject(e))
 
//响应器
httpInstance.interceptors.response.use(res => res.data, e => {
    const userStore = useUserStore()  //pinia管理的用户数据
    // 401 token失效处理
    // 1. 清除本地用户数据
    // 2.跳转到登录页
    if (e.response.status === 401) {
        userStore.clearUserInfo() 
        // userStore.userInfo = {}
        router.push('/login')
    }
    return Promise.reject(e)
})
export default httpInstance */
/* 
// src/utils/axios-interceptors.js
import axios from 'axios';

// 创建独立实例
const instance = axios.create({
  baseURL: 'http://localhost:5000', // 基础 URL
  timeout: 3000,                     // 超时时间
  headers: { 'Content-Type': 'application/json' }
});

instance.interceptors.response.use(
    response => {
      // 成功响应处理（2xx 状态码）
      const { code, data, msg } = response.data;
      if (code === 200) {
        return data; // 直接返回业务数据
      } else {
        return Promise.reject({ code, msg }); // 业务逻辑错误
      }
    },
    error => {
      // 失败响应处理（非2xx 状态码）
      const status = error.response?.status;
      switch (status) {
        case 401:
          localStorage.removeItem('token');
          window.location.href = '/login'; // 跳转登录页[2,8](@ref)
          break;
        case 403:
          console.error('无访问权限');
          break;
        default:
          console.error(`服务器错误: ${status}`);
      }
      console.log(status);
      return Promise.reject(error);
    }
  );
  
  export default instance; */